#define  _CRT_SECURE_NO_WARNINGS



#include<stdio.h>
#include<string.h>


int main()
{
    int n = 0, i = 0, j = 0, len = 0, k = 0, flag = 5, sum = 0;
    scanf("%d", &n);
    getchar();
    char a[20][21] = { 0 }, b[20][21] = { 0 };
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%s", &a[i][j]);
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%s", &b[i][j]);
        }
    }
    for (i = 0; i < n; i++)
    {
        if (a[0][i] == b[i][n - 1])
            sum++;
    }
    if (sum == n)
        flag = 1;
    sum = 0;
    for (i = 0, j = n - 1; i < n; i++, j--)
    {
        if (a[0][i] == b[j][0])
            sum++;
    }
    if (sum == n)
        flag = 2;
    sum = 0;
    for (i = 0, j = n - 1; i < n; i++, j--)
    {
        if (a[0][i] == b[n - 1][j])
            sum++;
    }
    if (sum == n && (a[n / 2][n / 2] == b[n / 2][n / 2]))
        flag = 3;
    sum = 0;
    for (i = 0; i < n; i++)
    {
        if (strcmp(a[i], b[i]) == 0)
            sum++;
    }
    if (sum == n)
        flag = 4;
    printf("%d\n", flag);
    return 0;
}